iT邦幫忙

2022 iThome 鐵人賽

DAY 18
0
Software Development

C語言與C++語言系列 第 18

C語言與C++語言第十八天

  • 分享至 

  • xImage
  •  

C++語言指標與內建陣列之間的關係

在C++中,內建陣列和指標的關係非常密切,二者幾乎可以互換使用,陣列名稱可以當成常數指標,指標也可以用在任何與內建陣列索引有關的運算,下程式碼
假設以下宣告
int b[5]
int *bPtr
以下敘述會將bPtr設為陣列b的第一個元素的位址
bPtr=b
這等同於使用下列敘述,取得陣列第一個元素的位址
bPtr=&b[0]

#include <iostream>
using namespace std;
int main()
{
    int b[]={10, 20, 30, 40};
    int *bPtr=b;

    cout<<"Array b displayed with:\n\nArray subscript notation\n";

    for(size_t i=0;i<4;++i)
        cout<<"b["<<i<<"]="<<b[i]<<'\n';

    cout<<"\nPointer/offset notation where"
        <<"the pointer is the array name\n";

    for(size_t offset1=0;offset1<4;++offset1)
        cout<<"*(b+ "<<offset1<<")= "<<*(b+offset1)<<'\n';

    cout<<"\nPointer subscript notation\n";

    for(size_t j=0;j<4;++j)
        cout<<"bPtr["<<j<<"]="<<bPtr[j]<<'\n';

    cout<<"\nPointer/offset notation\n";

    for(size_t offset2=0;offset2<4;++offset2)
        cout<<"*(bPtr+ "<<offset2<<")= "
        <<*(bPtr+offset2)<<'\n';
}

上面的程式碼中,我們用了四種參用陣列元素方法:1陣列索引表示法 2將陣列名稱作為指標的指標/偏移量表示方法pointer/offset notation with the built-in array,s name as a Pointer 3指標/索引表示法pointer subcript notation 4指標/偏移量表示法pointer/offset notation with a pointer

C語言用文字繪製長方形的練習

讓使用輸入正整數N,印出NxN個的*組成的圖形

#include <stdio.h>
int main()
{
    int N;
    printf("N= ");
    scanf("%d", &N);

    int i,j;
    for(i=1;i<=N;i++)
    {
        for(j=1;j<=N;j++)
        {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

上面的程式碼中我們先宣告一個N讓使用者輸入數字,讓鍵盤輸入,接著在宣告兩個變數,第一個for迴圈的i是第幾行的意思,第二個for迴圈的j是第幾個數字的意思,i跟j不能是同一個變數,同樣的只能是N因為N代表的是他的上限是固定的,最後我們就printf出我們輸入數字的正方形,然後記得要\n換行就是我們要的結果


上一篇
C語言與C++語言第十七天多維陣列
下一篇
C語言與C++語言第十九天
系列文
C語言與C++語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言